作者:平凡淘你 | 来源:互联网 | 2023-07-11 02:21
篇首语:本文由编程笔记#小编为大家整理,主要介绍了[NetCore]依赖注入相关的知识,希望对你有一定的参考价值。
背景
今天在做权限过滤器时,需要根据userid获取菜单列表。直接写一个方法在过滤器中。
突然感觉怪怪的,能否分离呢?假设我这个获取菜单列表在HomeController也同样被使用。是否可以采取注入方式呢?
分离
拆分成接口和服务:
interface和service
注入Filter
private readonly ISysMenuService sysMenuService;
public PermissionActionFilterAttribute(ISysMenuService sysMenuService)
this.sysMenuService = sysMenuService;
服务配置
此处为演示简单Singleton模式或者采用第三方组件autofac
#region 支持Filter依赖注入
services.AddSingleton<PermissionActionFilterAttribute>();
#endregion
#region IOC注册抽象和具体的依赖关系
services.AddSingleton<ISysMenuService, SysMenuService>();
#endregion